package com.codedancer.campus.manager.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.codedancer.campus.manager.service.bo.lostFoundItem.LostFoundItemExamineBo;
import com.codedancer.campus.manager.service.bo.lostFoundItem.LostFoundItemPageSearchBo;
import com.codedancer.campus.manager.service.vo.lostFoundItem.LostFoundItemPageVo;
import com.codedancer.campus.manager.service.vo.lostFoundItem.LostFoundItemVo;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface ILostFoundItemService {

    /**
     * 分页查询物品
     * @param lostFoundItemPageSearchBo
     * @return
     */
    IPage<LostFoundItemPageVo> page(LostFoundItemPageSearchBo lostFoundItemPageSearchBo);

    /**
     * 详情
     * @param uuid
     * @return
     */
    LostFoundItemVo detail(String uuid);

    /**
     * 审核未通过
     * @param lostFoundItemExamineBo
     */
    void noPass(LostFoundItemExamineBo lostFoundItemExamineBo);

    /**
     * 审核通过
     * @param lostFoundItemExamineBo
     */
    void pass(LostFoundItemExamineBo lostFoundItemExamineBo);

    /**
     * 发布
     * @param uuid
     */
    void publish(String uuid);

    /**
     * 撤回
     * @param uuid
     */
    void revoke(String uuid);

    /**
     * 删除
     * @param uuid
     */
    void delete(String uuid);

    /**
     * 导出物品
     * @param request
     * @param response
     * @param lostFoundItemPageSearchBo
     */
    void export(HttpServletRequest request, HttpServletResponse response, LostFoundItemPageSearchBo lostFoundItemPageSearchBo);

    /**
     * 批量撤回
     * @param uuids
     */
    void batchRevoke(List<String> uuids);

    /**
     * 批量发布
     * @param uuids
     */
    void batchPublish(List<String> uuids);

    /**
     * 批量删除
     * @param uuids
     */
    void batchDelete(List<String> uuids);
}
